home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / progjrn / pj_6_5.arc / DATETIME.HXX < prev    next >
Text File  |  1988-08-18  |  2KB  |  77 lines

  1. // datetime.hxx
  2. //
  3. // defines the OS/2 date and time classes
  4. //
  5. // (c) Copyright 1988 Aspen Scientific
  6. // All Rights Reserved.
  7.  
  8. // the date-and-time class definition
  9.  
  10. class DateAndTime {
  11.  
  12. friend struct DateAndTimePlus;            // allow use of private members
  13.  
  14.     // the following is for private class use
  15.  
  16.     DATETIME    *dtBuf;            // OS/2 date and time buffer
  17.     char        *showBuf;        // format buffer
  18.     char        *showDateOnly;        // format buffer for date
  19.     char        *showTimeOnly;        // format buffer for time
  20.     static char    *errorMsg;        // an "error" message
  21.     static char    **monthName;        // month names
  22.     static char    **dayName;        // names of days of week
  23.     int        showSize;        // the size of the show buffer
  24.     int        dateSize;        // the size of the date only
  25.     int        timeSize;        // the size of the time only
  26.  
  27.     // the following is for public use
  28. public:
  29.  
  30.     DateAndTime(int dt =0, int tm =0);    // constructor
  31.     ~DateAndTime();                // destructor
  32.  
  33.     // make date and time current
  34.     void        Update()    { DosGetDateTime((PDATETIME) dtBuf); }
  35.  
  36.     char        *Show();        // return string for full info
  37.     char        *ShowDate();        // return only a date string
  38.     char        *ShowTime();        // return only a time string
  39.  
  40.     // return the size of the date and time buffers
  41.     int        Size()        { return (showSize); }
  42.     int        DateSize()    { return (dateSize); }
  43.     int        TimeSize()    { return (timeSize); }
  44.  
  45. };
  46.  
  47. // now, derive a class from DateAndTime to handle
  48. // looking at each member of the dtBuf structure.
  49.  
  50. struct DateAndTimePlus : public DateAndTime {
  51.  
  52.     // we have no data to hide, only public functions to declare.
  53.     // therefore, we will use a struct, rather than a class.
  54.  
  55.     // the constructor: it takes the same arguments as
  56.     // its base, and calls the base constructor with the
  57.     // arguments.  the constructor for this class actually
  58.     // does nothing more than help to construct its base.
  59.  
  60.     DateAndTimePlus(int dt =0, int tm =0) : (dt, tm) { }
  61.  
  62.     // the destructor: see the constructor
  63.  
  64.     ~DateAndTimePlus() { }
  65.  
  66.     int    GetHours()    { return ( dtBuf->hours ); }
  67.     int    GetMinutes()    { return ( dtBuf->minutes ); }
  68.     int    GetSeconds()    { return ( dtBuf->seconds ); }
  69.     int    GetHundredths()    { return ( dtBuf->hundredths ); }
  70.     int    GetDay()    { return ( dtBuf->day ); }
  71.     int    GetMonth()    { return ( dtBuf->month ); }
  72.     int    GetYear()    { return ( dtBuf->year ); }
  73.     int    GetTimeZone()    { return ( dtBuf->timezone ); }
  74.     int    GetWeekDay()    { return ( dtBuf->weekday ); }
  75.  
  76. };
  77.